1. Field of the Invention
The present invention relates to data processing systems. In particular, the present invention relates to provision of Memory Built-In Self-Test (MBIST) operations.
2. Description of the Prior Art
It is known to use MBIST operations in order to determine proper functional operation of a newly fabricated data processing device. Typically data processing devices are configured to enable operation in either a self-test mode or in an operational mode. Thus, shortly after fabrication and before shipping to customers, a data processing device will be tested to ensure proper operation of all memory arrays within the system. These memory arrays are likely to be distributed throughout a plurality of functional units comprising the data processing hardware.
The MBIST operations involve writing predetermined sequences of data for storage in individual memory arrays and subsequently reading stored data from the memory arrays according to certain predefined physical access patterns (which depend on relative physical locations of memory cells) and predetermined timings to ensure proper operation of the memory systems. In order to perform such MBIST tests the MBIST controller needs some way of accessing all of the functional units of the processor in order to test each of the memory arrays. Although access to functional unit memories could be provided via a dedicated MBIST bus, the additional routing circuitry requires design effort and silicon area. Testing should also be quick.
It is also known to provide a communication bus within a data processing system for the communication of configuration data between the main processor registers and co-processor registers of functional units of the data processing apparatus. It is also known to provide a data communication path in order to perform debug operations to verify and diagnose any errors in data processing operations (debug programs) being executed by the data processing hardware.
The configuration bus and the debug communication path are used in an operational mode (including debug operation) of the data processing apparatus to perform data processing and debug operations. However, the MBIST self-test operations are performed in a self-test mode and not in the operational mode. Although they are both used in the operational mode, the configuration ring-bus and the debug communication path relate to orthogonal planes of functionality of the data processor. There is a need to provide an efficient data communication path to enable access to memory arrays of each functional unit of the data processing apparatus yet to reduce the volume of additional circuitry used to facilitate self-test operations on functional unit memories.